package com.yuetong.quotation.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yuetong.common.annotation.Excel;
import com.yuetong.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 报价汇总对象 yt_quotation_summary
 *
 * @author  卓晓君
 * @date 2025-02-11
 */
public class YtQuotationSummary extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 报价汇总ID */
    private Long summaryId;

    /** 报价ID */
    @Excel(name = "报价ID")
    private Long quotationId;

    /** 公司名称 */
    @Excel(name = "公司名称")
    private String companyName;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 线路 */
    @Excel(name = "线路")
    private String line;

    /** 报价时期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报价时期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date quotationPeriod;

    /** 报价内容 */
    @Excel(name = "报价内容")
    private String quotationContent;

    /** 报价金额 */
    @Excel(name = "报价金额")
    private BigDecimal quotationAmount;

    /** 开票日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开票日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date billingDate;

    /** 完工日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "完工日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date completionDate;

    /** 收款日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "收款日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date paymentDate;

    /** 收款金额 */
    @Excel(name = "收款金额")
    private BigDecimal paymentAmount;

    /** 附件 */
    @Excel(name = "附件")
    private String files;

    /** 删除标志 */
    private Integer delFlag;

    public void setSummaryId(Long summaryId)
    {
        this.summaryId = summaryId;
    }

    public Long getSummaryId()
    {
        return summaryId;
    }
    public void setQuotationId(Long quotationId)
    {
        this.quotationId = quotationId;
    }

    public Long getQuotationId()
    {
        return quotationId;
    }
    public void setCompanyName(String companyName)
    {
        this.companyName = companyName;
    }

    public String getCompanyName()
    {
        return companyName;
    }
    public void setProjectName(String projectName)
    {
        this.projectName = projectName;
    }

    public String getProjectName()
    {
        return projectName;
    }
    public void setLine(String line)
    {
        this.line = line;
    }

    public String getLine()
    {
        return line;
    }
    public void setQuotationPeriod(Date quotationPeriod)
    {
        this.quotationPeriod = quotationPeriod;
    }

    public Date getQuotationPeriod()
    {
        return quotationPeriod;
    }
    public void setQuotationContent(String quotationContent)
    {
        this.quotationContent = quotationContent;
    }

    public String getQuotationContent()
    {
        return quotationContent;
    }
    public void setQuotationAmount(BigDecimal quotationAmount)
    {
        this.quotationAmount = quotationAmount;
    }

    public BigDecimal getQuotationAmount()
    {
        return quotationAmount;
    }
    public void setBillingDate(Date billingDate)
    {
        this.billingDate = billingDate;
    }

    public Date getBillingDate()
    {
        return billingDate;
    }
    public void setCompletionDate(Date completionDate)
    {
        this.completionDate = completionDate;
    }

    public Date getCompletionDate()
    {
        return completionDate;
    }
    public void setPaymentDate(Date paymentDate)
    {
        this.paymentDate = paymentDate;
    }

    public Date getPaymentDate()
    {
        return paymentDate;
    }
    public void setPaymentAmount(BigDecimal paymentAmount)
    {
        this.paymentAmount = paymentAmount;
    }

    public BigDecimal getPaymentAmount()
    {
        return paymentAmount;
    }
    public void setFiles(String files)
    {
        this.files = files;
    }

    public String getFiles()
    {
        return files;
    }
    public void setDelFlag(Integer delFlag)
    {
        this.delFlag = delFlag;
    }

    public Integer getDelFlag()
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("summaryId", getSummaryId())
            .append("quotationId", getQuotationId())
            .append("companyName", getCompanyName())
            .append("projectName", getProjectName())
            .append("line", getLine())
            .append("quotationPeriod", getQuotationPeriod())
            .append("quotationContent", getQuotationContent())
            .append("quotationAmount", getQuotationAmount())
            .append("billingDate", getBillingDate())
            .append("completionDate", getCompletionDate())
            .append("paymentDate", getPaymentDate())
            .append("paymentAmount", getPaymentAmount())
            .append("remark", getRemark())
            .append("files", getFiles())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
